.neo-calendar-yearcomponent {
    display  : flex;
    font-size: 0.9em;

    &.neo-show-cell-borders {
        .neo-calendar-week {
            border-bottom: 1px solid v(c-y-cell-border-color);
        }

        .neo-cell {
            border-right: 1px solid v(c-y-cell-border-color);
        }

        .neo-top-left-spacer {
            border-left : 1px solid transparent;
            border-right: 1px solid transparent;
        }

        .neo-weekday-cell {
            border-right: 1px solid transparent;
        }

        .neo-weeknumber-cell {
            border-left: 1px solid v(c-y-cell-border-color);
        }
    }

    .neo-animation-wrapper {
        display       : flex;
        flex-direction: column;
        transition    : transform 300ms cubic-bezier(0.47, 0, 0.745, 0.715);
        will-change   : transform;
    }

    .neo-content-wrapper {
        display       : flex;
        flex          : 1 1 100%;
        flex-direction: column;
    }

    .neo-year-header {
        color        : v(c-y-year-color);
        font-size    : 1.3em;
        font-weight  : 600;
        margin-bottom: .5em;
        padding      : .4em .8em;
    }

    .neo-month-name {
        color        : v(c-y-month-color);
        font-size    : 1.3em;
        margin-bottom: .5em;
    }

    .neo-months-container {
        align-content: flex-start;
        display      : flex;
        flex         : 1;
        flex-wrap    : wrap;
        overflow-y   : auto;

        .neo-month {
            flex-basis: 25%;
            min-width : 19em;
            padding   : 0 2em 4em;
        }
    }

    .neo-calendar-week {
        display: flex;
        height : 2em;

        .neo-cell {
            align-items    : center;
            color          : v(c-y-cell-color);
            display        : flex;
            flex           : 1;
            font-weight    : 400;
            justify-content: center;

            &:focus {
                outline: 0;

                .neo-cell-content {
                    background-color: #1c60a0;
                    color           : #fff;
                    font-weight     : 900;
                }
            }
        }

        .neo-cell-content {
            align-items    : center;
            border-radius  : 50%;
            cursor         : pointer;
            display        : flex;
            height         : 1.8em;
            width          : 1.8em;
            justify-content: center;

            &.neo-today {
                background-color: v(c-y-today-background-color);
                color           : v(c-y-today-color);
                font-weight     : 900;
            }
        }

        .neo-top-left-spacer {

        }

        .neo-weekday-cell {

        }

        .neo-weeknumber-cell {
            background-color: v(c-y-week-background-color);
            color           : v(c-y-week-color);
        }
    }
}